<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.9/vue.js"></script>
<body>
    <div id="box">
        <h1>{{count}}</h1>
        <!-- 绑定事件 -->
        <!-- 当逻辑简单时，可以写成表达式的形式 -->
        <button v-on:click="count+=1">表单式</button><br>
        <!-- 当逻辑复杂时，可以写成函数的形式 -->
        <button v-on:click="add">add</button><br>
        <button v-on:click="add1($event,num)">add()</button><br>
        <!-- v-on绑定事件后面的参数，加括号和不加括号的区别：①加括号可以传参，不加括号不能传参②加括号的如需event，需要在括号中传入$event,否则函数中event为undefined，不加括号有event，他们的event都是PointerEvent -->
        <!-- 简写方式 -->
        <button @click='add'>简写方式</button>
    </div>
    <script>
        const vm = new Vue({
            el: '#box',
            data: {
                count: 0,
                num: 10
            },
            methods: {
                add(event) {
                    // this在vue的方法中执行当前实例对象
                    console.log(this); //vm  当前vue实例对象
                    // console.log(count);
                    // this.count = this.count + 1;
                    this.count += 1;
                    console.log(event);
                },
                add1(event, dis) {
                    this.count += dis;
                    console.log(event);
                }
            }
        })
    </script>
</body>
</html>